iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0

https://ithelp.ithome.com.tw/upload/images/20210904/20113220QGMp428W6E.png

引用https://book.tidb.io/ TiFlash架構圖

登愣,看到這張圖是不是就已經想關掉網頁了,沒錯!他看起來就是這樣的讓人感到厭世...

究竟TiFlash要怎麼讓自己長出資料來?首先安排了一個心腹Replica Manager負責監聽TiDB的內線消息,只要聽到有關於TiFlash的DDL操作,就通知PD轉告TiKV分裂出region。
這個時候的region是learner角色,然後會被放置到TiFlash所在的store。Replica Manager也會將TiFlash資料同步進度回報給TiDB。
而TiKV收到通知後,便將異動的資訊透過raft command丟給Raft Learner Proxy,最後將資料結構從row轉換成column寫到disk。

而當client發起了一個select request到tidb,首先tidb將要讀取的region以及schema版本轉發給Coprocessor,然後Coprocessor會先向Schema Syncer確認schema版本是否有落差需要更新。
這裡的Schema Syncer會持續不斷的同步schema異動信息。接著比對raft leader的index和learner的apply index,確認資料是否跟上。依據從PD的TSO取得的時間決定snapshot read的版本,最後完成語法的計算再回傳給TiDB。


上一篇
Day 9 - TiFlash架構(上)
下一篇
Day 11 - 安裝(ㄧ)Tiup工具
系列文
TiDB學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言